For a fully functioning PPWeb, you'll need the following:
NZBGet binary
PHP (php/php-cgi pkg)
CGI.pm (perl-cgi pkg)
LWP::UserAgent (perl-libwww pkg) 
Crypt::SSLeay (perl-crypt-ssleay pkg) NzbsRus only
unzip (unzip pkg)
unrar (rarlinux/unrar-free pkg)
par2 (par2cmdline/par2 pkg)
svn (svn/subversion pkg) Auto update only

### QUICK START ###
Download PPWeb with svn (as root)
svn co http://ppweb.googlecode.com/svn/trunk '/path to/doc_root/ppweb'

copy your nzbget binary (not folder) to the ppweb cgi-bin directory
cp '/path to/nzbget binary' '/path to/doc_root/ppweb/ppweb/cgi-bin'

Change /ppweb ownership to the servers user:group if needed
# chown -R user:group '/path to/doc_root/ppweb/

Set perl and svn path in /ppweb/ppweb/cgi-bin/ppweb_update.cgi

Go to http://your host[:port]/ppweb/nzbgetweb/

Click the "u" in the "PPWeb (u)" heading (fix any errors)

Click Configure to configure News-Servers and WF Nzb sites

Click Daemon start, your Nzb site(s) of choice, etc.
###

PPWeb is preconfigured to be self contained. The default settings do 
not need, or write to, directories outside of the main directory. If 
it doesn't work out for you, just delete the directory. 

The main ppweb directory can be any directory on your web server that 
can serve index.php. To keep things simple, and to prevent naming 
conflicts where folks already have nzbgetweb installed, the ppweb 
default location is a server/host document root sub-directory named 
ppweb, e.g. /var/www/html/ppweb. You'll probably want to create the 
directory as root.

Using 'svn checkout http://ppweb.googlecode.com/svn/trunk/ /path/to/ppweb'
for install will make single click updates possible.

If you've downloaded a tarball move it to doc_root
  cp '/path to/tarball' '/path to/doc_root'
cd to the doc_root directory
  cd '/path to/doc_root'
extract the tarball (replace NNN w/ the revision number)
  tar -zxvf PPWeb-PPWeb.rNNN.tar.gz
or (depends on the source)
  tar -zxvf PPWeb.rNNN.tar.gz
rename the extracted directory, if needed
  mv PPWeb-PPWeb.rNNN ppweb

The default cgi-bin path is /ppweb/ppweb/cgi-bin. Lighttpd setup is 
easier if you stick with the default - see Lighttpd Configuration 
on the PPWeb HowTo page. Apache may need to be configured to allow script 
execution in this directory, e.g. SetHandler cgi-script and Options ExecCGI 
in a Directory block. You can also copy the contents of /ppweb/cgi-bin 
to your servers default cgi-bin. The svn update will replace and 
reconfigure any updated scripts in /cgi-bin.

The default location for the nzbget executable (binary, not folder) 
is also in the /ppweb/ppweb/cgi-bin directory. Due to bandwidth and 
potential incompatibility issues, a prebuilt binary is no longer included 
and needs to be downloaded separately. While PPWeb does look for, 
and can use, an nzbget binary located elsewhere, copying the binary to 
the /ppweb/ppweb/cgi-bin will allow multiple nzbget processes and insure 
no conflicts with existing nzbget installs. If you use a binary located 
in an alternate location, make sure that it is not running before starting 
it from the PPWeb interface.

All directories/files need to be owned by a user:group that has permission 
to execute cgi/perl scripts and create/delete files/directories. 
Setting ownership to a regular user (e.g. you) typically requires some 
form of server configuration. I use modsuexec in Apache 
('SuexecUserGroup user group' in a VirtualHost block). If you don't 
know how to do this with your server and/or trying as a regular user 
doesn't work, you need to use the servers default user:group (typically 
defined in the server configuration file). To change the ownership of 
all ppweb directories and files, run the following as root:
# chown -R user:group /path/to/ppweb

To view your hosts error.log via the web interface, set your servers 
host error log path to /path_to/ppweb/ppweb/logs, 
e.g. ErrorLog /var/www/html/ppweb/ppweb/logs/error.log
Note: This will have to be done after you have successfully run 
ppweb_update.cgi, at least once, or your server won't start because 
the logs directory doesn't exist yet.

ppweb_update.cgi is the only script you may need to manually edit, leave 
the rest alone. If your /path/to/perl is not /usr/bin/perl, change the path 
on the first line of the script and in $perl_path. Setting $svn_path to
the full path (run which svn) would also be a good idea. You can leave the 
rest alone unless you have a reason not to, e.g. you're not installing 
to /ppweb.

Go to http://your server[:port]/ppweb/nzbgetweb/

The first thing you need to do is run the PPWeb configuration/update script
If you're not using the default /ppweb/ppweb/cgi-bin, the default configuration 
link will not work and you will need to manually enter the URL to the script, 
e.g. http://your server/cgi-bin/ppweb_update.cgi. Once PPWeb is configured, 
the update link will point to the URL you entered.

The configuration/update link is the "u" link in the "PPWeb (u)" menu 
heading. The update script will automatically create and configure the 
directories and files needed to make NZBGet, NzbgetWeb and PPWeb functional. 
The link should also be used to check/update your setup when you make 
configuration changes. If you did a svn install, use the link to keep 
your install up to date.

Running update has to be successful for PPWeb to work properly. You shouldn't 
have to change any configuration options (aside from ppweb_update.cgi) 
for PPWeb to work. The most common problems are file system permissions, 
server configuration and missing programs (NOT PPWeb configuration 
settings). The script runs numerous tests to try and fix or let you know 
what is wrong with your setup. If you cannot get ppweb to work, please let 
me know because I do screw things up every now and then.

Next use the NZBGet Configure link to setup a news server (news-servers link).
Use the Configure : PostProcess NzbsRus, NzbMatrix and Nzbs.Org links to 
setup nzb browse/watch/search. The default twice a day updates works fine in 
most cases. If it doesn't, adjust Configure : Scheduler as needed. PLEASE 
download at least one nzb with the default settings before making other 
configuration changes.

Click the NZBGet Daemon start link to start nzbget. Click on a nzb site 
link (give it time to build you a page) and click on a Queue link 
for an nzb that interests you. When the nzb is downloaded you will be returned 
to the listing you were at (the title will now be grey) so you can keep 
scrolling and queueing nzbs. Click top (bottom right of all listings) and 
Return to NzbgetWeb to see how your queued nzb is doing. The Dir's download 
link will show you which files have been downloaded.

When post processing is complete the files you wanted will be located in 
the save directory (Dir's: save). If you already have a save directory tree 
for extracted files, or want it to be outside of the ppweb directory tree, 
set SaveDir (Configure : PP Save/Delete/Rename) to a parent directory and 
Configure : Categories to matching sub-directories. If the server doesn't 
have write permissions for SaveDir (Note: server must have read permissions 
for SaveDir), the category directories will need to exist and the server 
will need write permissions for those directories. As always, run (u)pdate 
after making configuration changes.

Note: If you get error or blank pages after clicking on PPWeb links, the 
most likely cause is that the CGI and/or LWP perl modules are not installed. 
Try running /path/to/wfnzb.cgi from a terminal, it will return errors, 
e.g. Can't locate..., if something is wrong with your setup.

Note: When making configuration changes, Configure : PostProcess has priority.
Because the script may need to change settings in other files to match the 
changed PPWeb settings, its a good idea to run (u)pdate when you're done.
